1. Technical Field
Embodiments of the invention generally relate to electronics, and, in particular, to arbitration of cache requests.
2. Description of the Related Technology
As mobile devices, such as smart phones, are being used for a wide variety of purposes, processors for mobile devices are being designed with increasing capabilities. For instance, processors for mobile devices can include several components with separate functionalities, such as a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), etc. GPUs are widely used to render two-dimensional (2D) and three-dimensional (3D) images for various applications. GPUs can be used to render still images and/or video images.
To render images, GPUs can include a color processor and a depth processor. The color processor can process image data and generate color data indicating colors of pixels of a scene to be rendered on a display. The depth processor can process the image data and generate depth data indicating distance values for pixels in the scene. The color processor and the depth processor can share a memory to store the color data and the depth data. When there are multiple requests to access the shared memory, an order in which requests are processed can be based on arbitration. Existing methods of arbitrating between requests to access the shared memory have resulted in suboptimal performance and bottlenecks in a GPU pipeline.